package com.xbongbong.workflow.producer;

import com.xbongbong.workflow.pojo.WorkflowRabbitmqDTO;

/**
 * workflow生产者
 * @author 魏荣杰
 *
 */
public interface WorkflowProducer {

    /**
     * Description: 初始触发工作流
     * @param workflowRabbitmqDTO
     * @return void
     * @throws
     * @author 魏荣杰
     * @date 2021/6/7 10:02
     * @since
     */
    void startWorkflow(WorkflowRabbitmqDTO workflowRabbitmqDTO);

    /**
     * Description: 人工操作工作流（审批操作触发）
     * @param workflowRabbitmqDTO
     * @return void
     * @throws
     * @author 魏荣杰
     * @date 2021/6/7 10:03
     * @since
     */
    void startOperatorWorkflow(WorkflowRabbitmqDTO workflowRabbitmqDTO);

    /**
     * 跳过审批节点的工作流
     * @param workflowRabbitmqDTO
     * @return void
     * @author 吴峰
     * @date 2021/7/6 9:47
     */
    void startWorkflowNoApprove(WorkflowRabbitmqDTO workflowRabbitmqDTO);
}
